package cn.com.cetccst.activation.network;


import cn.com.cetccst.activation.network.response.AuthCodeResponse;
import cn.com.cetccst.activation.network.response.AuthTypeResponse;
import cn.com.cetccst.activation.network.response.AuthResponse;
import cn.com.cetccst.activation.network.response.FeaturesResponse;
import cn.com.cetccst.activation.network.response.MAMSSOResponse;
import cn.com.cetccst.activation.network.response.OTAResponse;
import cn.com.cetccst.activation.network.response.MDMSSOResponse;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;
import rx.Observable;

public interface IActivationApiService {
    @GET("/ota")
    Observable<OTAResponse> ota();

    @POST("/caas/api/engine/init")
    Observable<AuthTypeResponse> activationCode(@Body RequestBody params);

    @POST("/caas/api/engine/auth")
    Observable<AuthResponse> auth(@Header("X-ActivationToken") String activationCode, @Body RequestBody params);

    @GET("/caas/api/engine/features")
    Observable<FeaturesResponse> features();

    @POST("/caas/api/engine/oauth/getcode")
    Observable<AuthCodeResponse> authcode(@Body RequestBody params);

    @POST("/mdm/enroll/android/bysso")
    Observable<MDMSSOResponse> mdmSSO(@Body RequestBody params);

    @GET("/mam/api/appstore/token")
    Observable<MAMSSOResponse> mamSSO(@Header("Authorization") String authorization, @Header("AppId") String appId, @Header("DeviceId") String deviceId);


}
